package com.ditian.model;

import com.alibaba.fastjson.annotation.JSONField;

/**
 * 卡片信息
 * @author chenweiyi
 *
 */
public class Card {
	/**
	 * 证件类型。返回1，代表是身份证,返回 2，表示是驾驶证。返回 3，表示是行驶证。
	 */
	@JSONField(name="type")
	private int type;
	
	/**
	 * <pre>
	 * 驾驶证版本.
	 * 返回 2，表示是2013版本驾驶证。
	 * 返回 1，表示是2008或更早版本驾驶证。
	 * </pre>
	 */
	@JSONField(name="version")
	private int version;
	
	/**
	 * 住址
	 */
	@JSONField(name="address")
	private String address;
	
	/**
	 * 生日，格式为YYYY-MM-DD
	 */
	@JSONField(name="birthday")
	private String birthday;
	
	/**
	 * 性别（男/女）
	 */
	@JSONField(name="gender")
	private String gender;
	
	/**
	 * 身份证号
	 */
	@JSONField(name="id_card_number")
	private String idCardNumber;
	
	/**
	 * 驾驶证号
	 */
	@JSONField(name="license_number")
	private String licenseNumber;
	
	/**
	 * 姓名
	 */
	@JSONField(name="name")
	private String name;
	
	/**
	 * 民族（汉字）
	 */
	@JSONField(name="race")
	private String race;
	
	/**
	 * 准驾车型
	 */
	@JSONField(name="class")
	private String clazz;
	
	/**
	 * 国籍
	 */
	@JSONField(name="nationality")
	private String nationality;
	
	
	
	/**
	 * <pre>
	 * 表示身份证的国徽面或人像面。返回值为：
	 * front: 人像面
	 * back: 国徽面
	 * </pre>
	 */
	@JSONField(name="side")
	private String side;
	
	/**
	 * 签发机关
	 */
	@JSONField(name="issued_by")
	private String issuedBy;
	
	/**
	 * 初次领证日期
	 */
	@JSONField(name="issue_date")
	private String issueDate;
	
	/**
	 * <pre>
	 * 有效日期，返回值有两种格式：
	 * 一个16位长度的字符串：YYYY.MM.DD-YYYY.MM.DD
	 * 或是：YYYY.MM.DD-长期
	 * </pre>
	 */
	@JSONField(name="valid_date")
	private String validDate;
	
	/**
	 * 身份证照片的合法性检查结果
	 */
	@JSONField(name="legality")
	private Legality legality;
	
	/**
	 * 有效年限，例如 6年
	 */
	@JSONField(name="valid_from")
	private String validFrom;
	
	/**
	 * <pre>
	 * 有效期限格式为：YYYY-MM-DD至YYYY-MM-DD
	 * 根据驾驶证版本不同，一种情况会返回valid_from和valid_for两个字段，另一种情况只返回valid_date字段。
	 * </pre>
	 */
	@JSONField(name="valid_for")
	private String validFor;
	
	/**
	 * 号牌号码。
	 */
	@JSONField(name="plate_no")
	private String plateNO;
	
	/**
	 * 车辆类型。
	 */
	@JSONField(name="vehicle_type")
	private String vehicleType;
	
	/**
	 * 所有人。
	 */
	@JSONField(name="owner")
	private String owner;
	
	/**
	 * 使用性质。
	 */
	@JSONField(name="use_character")
	private String useCharacter;
	
	/**
	 * 品牌型号。
	 */
	@JSONField(name="model")
	private String model;
	
	/**
	 * 车辆识别代号。
	 */
	@JSONField(name="vin")
	private String vin;
	
	/**
	 * 发动机号码。
	 */
	@JSONField(name="engine_no")
	private String engineNo;
	
	/**
	 * 注册日期，格式为YYYY-MM-DD
	 */
	@JSONField(name="register_date")
	private String registerDate;
	
	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}

	public String getGender() {
		return gender;
	}

	public void setGender(String gender) {
		this.gender = gender;
	}

	public String getIdCardNumber() {
		return idCardNumber;
	}

	public void setIdCardNumber(String idCardNumber) {
		this.idCardNumber = idCardNumber;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getRace() {
		return race;
	}

	public void setRace(String race) {
		this.race = race;
	}

	public String getSide() {
		return side;
	}

	public void setSide(String side) {
		this.side = side;
	}

	public String getIssuedBy() {
		return issuedBy;
	}

	public void setIssuedBy(String issuedBy) {
		this.issuedBy = issuedBy;
	}

	public String getValidDate() {
		return validDate;
	}

	public void setValidDate(String validDate) {
		this.validDate = validDate;
	}

	public Legality getLegality() {
		return legality;
	}

	public void setLegality(Legality legality) {
		this.legality = legality;
	}

	public int getVersion() {
		return version;
	}

	public void setVersion(int version) {
		this.version = version;
	}

	public String getLicenseNumber() {
		return licenseNumber;
	}

	public void setLicenseNumber(String licenseNumber) {
		this.licenseNumber = licenseNumber;
	}

	public String getClazz() {
		return clazz;
	}

	public void setClazz(String clazz) {
		this.clazz = clazz;
	}

	public String getNationality() {
		return nationality;
	}

	public void setNationality(String nationality) {
		this.nationality = nationality;
	}

	public String getIssueDate() {
		return issueDate;
	}

	public void setIssueDate(String issueDate) {
		this.issueDate = issueDate;
	}

	public String getValidFrom() {
		return validFrom;
	}

	public void setValidFrom(String validFrom) {
		this.validFrom = validFrom;
	}

	public String getValidFor() {
		return validFor;
	}

	public void setValidFor(String validFor) {
		this.validFor = validFor;
	}

	public String getPlateNO() {
		return plateNO;
	}

	public void setPlateNO(String plateNO) {
		this.plateNO = plateNO;
	}

	public String getVehicleType() {
		return vehicleType;
	}

	public void setVehicleType(String vehicleType) {
		this.vehicleType = vehicleType;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

	public String getUseCharacter() {
		return useCharacter;
	}

	public void setUseCharacter(String useCharacter) {
		this.useCharacter = useCharacter;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getVin() {
		return vin;
	}

	public void setVin(String vin) {
		this.vin = vin;
	}

	public String getEngineNo() {
		return engineNo;
	}

	public void setEngineNo(String engineNo) {
		this.engineNo = engineNo;
	}

	public String getRegisterDate() {
		return registerDate;
	}

	public void setRegisterDate(String registerDate) {
		this.registerDate = registerDate;
	}

	@Override
	public String toString() {
		return "Card [type=" + type + ", version=" + version + ", address="
				+ address + ", birthday=" + birthday + ", gender=" + gender
				+ ", idCardNumber=" + idCardNumber + ", licenseNumber="
				+ licenseNumber + ", name=" + name + ", race=" + race
				+ ", clazz=" + clazz + ", nationality=" + nationality
				+ ", side=" + side + ", issuedBy=" + issuedBy + ", issueDate="
				+ issueDate + ", validDate=" + validDate + ", legality="
				+ legality + ", validFrom=" + validFrom + ", validFor="
				+ validFor + ", plateNO=" + plateNO + ", vehicleType="
				+ vehicleType + ", owner=" + owner + ", useCharacter="
				+ useCharacter + ", model=" + model + ", vin=" + vin
				+ ", engineNo=" + engineNo + ", registerDate=" + registerDate
				+ "]";
	}
	
	

}
